﻿namespace AutoSPInstallerGUI.Classes
{
    using System;
    using System.Collections.Generic;

    public partial class Configuration
    {
        [NonSerialized] 
        private List<WebTemplate> _webTemplatesField;

        [System.Xml.Serialization.XmlIgnore]
        public List<WebTemplate> WebTemplates
        {
            get
            {
                if ((_webTemplatesField == null))
                {
                    _webTemplatesField = new List<WebTemplate>();
                    WebTemplates.Add(new WebTemplate("Global template", "GLOBAL#0", 15));
                    WebTemplates.Add(new WebTemplate("Team Site", "STS#0", 15));
                    WebTemplates.Add(new WebTemplate("Blank Site", "STS#1", 15));
                    WebTemplates.Add(new WebTemplate("Document Workspace", "STS#2", 15));
                    WebTemplates.Add(new WebTemplate("Basic Meeting Workspace", "MPS#0", 15));
                    WebTemplates.Add(new WebTemplate("Blank Meeting Workspace", "MPS#1", 15));
                    WebTemplates.Add(new WebTemplate("Decision Meeting Workspace", "MPS#2", 15));
                    WebTemplates.Add(new WebTemplate("Social Meeting Workspace", "MPS#3", 15));
                    WebTemplates.Add(new WebTemplate("Multipage Meeting Workspace", "MPS#4", 15));
                    WebTemplates.Add(new WebTemplate("Central Admin Site", "CENTRALADMIN#0", 15));
                    WebTemplates.Add(new WebTemplate("Wiki Site", "WIKI#0", 15));
                    WebTemplates.Add(new WebTemplate("Blog", "BLOG#0", 15));
                    WebTemplates.Add(new WebTemplate("Group Work Site", "SGS#0", 15));
                    WebTemplates.Add(new WebTemplate("Tenant Admin Site", "TENANTADMIN#0", 15));
                    WebTemplates.Add(new WebTemplate("App Template", "APP#0", 15));
                    WebTemplates.Add(new WebTemplate("App Catalog Site", "APPCATALOG#0", 15));
                    WebTemplates.Add(new WebTemplate("Access Services Site", "ACCSRV#0", 15));
                    WebTemplates.Add(new WebTemplate("Access Services Site Internal", "ACCSVC#0", 15));
                    WebTemplates.Add(new WebTemplate("Access Services Site", "ACCSVC#1", 15));
                    WebTemplates.Add(new WebTemplate("Document Center", "BDR#0", 15));
                    WebTemplates.Add(new WebTemplate("Developer Site", "DEV#0", 15));
                    WebTemplates.Add(new WebTemplate("Academic Library", "DOCMARKETPLACESITE#0", 15));
                    WebTemplates.Add(new WebTemplate("eDiscovery Center", "EDISC#0", 15));
                    WebTemplates.Add(new WebTemplate("(obsolete) Records Center", "OFFILE#0", 15));
                    WebTemplates.Add(new WebTemplate("Records Center", "OFFILE#1", 15));
                    WebTemplates.Add(new WebTemplate("Shared Services Administration Site", "OSRV#0", 15));
                    WebTemplates.Add(new WebTemplate("PerformancePoint", "PPSMASite#0", 15));
                    WebTemplates.Add(new WebTemplate("Business Intelligence Center", "BICenterSite#0", 15));
                    WebTemplates.Add(new WebTemplate("SharePoint Portal Server Site", "SPS#0", 15));
                    WebTemplates.Add(new WebTemplate("SharePoint Portal Server Personal Space", "SPSPERS#0", 15));
                    WebTemplates.Add(new WebTemplate("Storage And Social SharePoint Portal Server Personal Space", "SPSPERS#2", 15));
                    WebTemplates.Add(new WebTemplate("Storage Only SharePoint Portal Server Personal Space", "SPSPERS#3", 15));
                    WebTemplates.Add(new WebTemplate("Social Only SharePoint Portal Server Personal Space", "SPSPERS#4", 15));
                    WebTemplates.Add(new WebTemplate("Empty SharePoint Portal Server Personal Space", "SPSPERS#5", 15));
                    WebTemplates.Add(new WebTemplate("Contents area Template", "SPSTOC#0", 15));
                    WebTemplates.Add(new WebTemplate("Topic area template", "SPSTOPIC#0", 15));
                    WebTemplates.Add(new WebTemplate("News Site", "SPSNEWS#0", 15));
                    WebTemplates.Add(new WebTemplate("Site Directory", "SPSSITES#0", 15));
                    WebTemplates.Add(new WebTemplate("Community area template", "SPSCOMMU#0", 15));
                    WebTemplates.Add(new WebTemplate("Report Center", "SPSREPORTCENTER#0", 15));
                    WebTemplates.Add(new WebTemplate("Collaboration Portal", "SPSPORTAL#0", 15));
                    WebTemplates.Add(new WebTemplate("Enterprise Search Center", "SRCHCEN#0", 15));
                    WebTemplates.Add(new WebTemplate("Profiles", "PROFILES#0", 15));
                    WebTemplates.Add(new WebTemplate("Publishing Portal", "BLANKINTERNETCONTAINER#0", 15));
                    WebTemplates.Add(new WebTemplate("My Site Host", "SPSMSITEHOST#0", 15));
                    WebTemplates.Add(new WebTemplate("Enterprise Wiki", "ENTERWIKI#0", 15));
                    WebTemplates.Add(new WebTemplate("Project Site", "PROJECTSITE#0", 15));
                    WebTemplates.Add(new WebTemplate("Product Catalog", "PRODUCTCATALOG#0", 15));
                    WebTemplates.Add(new WebTemplate("Community Site", "COMMUNITY#0", 15));
                    WebTemplates.Add(new WebTemplate("Community Portal", "COMMUNITYPORTAL#0", 15));
                    WebTemplates.Add(new WebTemplate("Basic Search Center", "SRCHCENTERLITE#0", 15));
                    WebTemplates.Add(new WebTemplate("Basic Search Center", "SRCHCENTERLITE#1", 15));
                    WebTemplates.Add(new WebTemplate("Visio Process Repository", "visprus#0", 15));
                    WebTemplates.Add(new WebTemplate("Global template", "GLOBAL#0", 14));
                    WebTemplates.Add(new WebTemplate("Team Site", "STS#0", 14));
                    WebTemplates.Add(new WebTemplate("Blank Site", "STS#1", 14));
                    WebTemplates.Add(new WebTemplate("Document Workspace", "STS#2", 14));
                    WebTemplates.Add(new WebTemplate("Basic Meeting Workspace", "MPS#0", 14));
                    WebTemplates.Add(new WebTemplate("Blank Meeting Workspace", "MPS#1", 14));
                    WebTemplates.Add(new WebTemplate("Decision Meeting Workspace", "MPS#2", 14));
                    WebTemplates.Add(new WebTemplate("Social Meeting Workspace", "MPS#3", 14));
                    WebTemplates.Add(new WebTemplate("Multipage Meeting Workspace", "MPS#4", 14));
                    WebTemplates.Add(new WebTemplate("Central Admin Site", "CENTRALADMIN#0", 14));
                    WebTemplates.Add(new WebTemplate("Wiki Site", "WIKI#0", 14));
                    WebTemplates.Add(new WebTemplate("Blog", "BLOG#0", 14));
                    WebTemplates.Add(new WebTemplate("Group Work Site", "SGS#0", 14));
                    WebTemplates.Add(new WebTemplate("Tenant Admin Site", "TENANTADMIN#0", 14));
                    WebTemplates.Add(new WebTemplate("Access Services Site", "ACCSRV#0", 14));
                    WebTemplates.Add(new WebTemplate("Document Center", "BDR#0", 14));
                    WebTemplates.Add(new WebTemplate("(obsolete) Records Center", "OFFILE#0", 14));
                    WebTemplates.Add(new WebTemplate("Records Center", "OFFILE#1", 14));
                    WebTemplates.Add(new WebTemplate("Shared Services Administration Site", "OSRV#0", 14));
                    WebTemplates.Add(new WebTemplate("PerformancePoint", "PPSMASite#0", 14));
                    WebTemplates.Add(new WebTemplate("Business Intelligence Center", "BICenterSite#0", 14));
                    WebTemplates.Add(new WebTemplate("SharePoint Portal Server Site", "SPS#0", 14));
                    WebTemplates.Add(new WebTemplate("SharePoint Portal Server Personal Space", "SPSPERS#0", 14));
                    WebTemplates.Add(new WebTemplate("Contents area Template", "SPSTOC#0", 14));
                    WebTemplates.Add(new WebTemplate("Topic area template", "SPSTOPIC#0", 14));
                    WebTemplates.Add(new WebTemplate("News Site", "SPSNEWS#0", 14));
                    WebTemplates.Add(new WebTemplate("Site Directory", "SPSSITES#0", 14));
                    WebTemplates.Add(new WebTemplate("Community area template", "SPSCOMMU#0", 14));
                    WebTemplates.Add(new WebTemplate("Report Center", "SPSREPORTCENTER#0", 14));
                    WebTemplates.Add(new WebTemplate("Collaboration Portal", "SPSPORTAL#0", 14));
                    WebTemplates.Add(new WebTemplate("Enterprise Search Center", "SRCHCEN#0", 14));
                    WebTemplates.Add(new WebTemplate("Profiles", "PROFILES#0", 14));
                    WebTemplates.Add(new WebTemplate("Publishing Portal", "BLANKINTERNETCONTAINER#0", 14));
                    WebTemplates.Add(new WebTemplate("My Site Host", "SPSMSITEHOST#0", 14));
                    WebTemplates.Add(new WebTemplate("Enterprise Wiki", "ENTERWIKI#0", 14));
                    WebTemplates.Add(new WebTemplate("Basic Search Center", "SRCHCENTERLITE#0", 14));
                    WebTemplates.Add(new WebTemplate("Basic Search Center", "SRCHCENTERLITE#1", 14));
                    WebTemplates.Add(new WebTemplate("FAST Search Center", "SRCHCENTERFAST#0", 14));
                    WebTemplates.Add(new WebTemplate("Visio Process Repository", "visprus#0", 14));
                }
                return _webTemplatesField;
            }
        }
    }

    public class WebTemplate
    {
        public string Title { get; set; }
        public string Name { get; set; }
        public int CompatibilityLevel { get; set; }

        public WebTemplate() { }

        public WebTemplate(string theTitle, string theName, int theCompatibilityLevel)
        {
            Title = theTitle;
            Name = theName;
            CompatibilityLevel = theCompatibilityLevel;
        }
    }

}